package com.ruoyi.ism.service;

import java.util.List;
import com.ruoyi.ism.domain.IsmCustManage;

/**
 * 客户管理Service接口
 *
 * @author ruoyi
 * @date 2024-07-19
 */
public interface IIsmCustManageService
{
    /**
     * 查询客户管理
     *
     * @param custId 客户管理主键
     * @return 客户管理
     */
    public IsmCustManage selectIsmCustManageByCustId(Long custId);

    /**
     * 查询客户管理列表
     *
     * @param ismCustManage 客户管理
     * @return 客户管理集合
     */
    public List<IsmCustManage> selectIsmCustManageList(IsmCustManage ismCustManage);

    /**
     * 新增客户管理
     *
     * @param ismCustManage 客户管理
     * @return 结果
     */
    public int insertIsmCustManage(IsmCustManage ismCustManage);

    /**
     * 修改客户管理
     *
     * @param ismCustManage 客户管理
     * @return 结果
     */
    public int updateIsmCustManage(IsmCustManage ismCustManage);

    /**
     * 批量删除客户管理
     *
     * @param custIds 需要删除的客户管理主键集合
     * @return 结果
     */
    public int deleteIsmCustManageByCustIds(Long[] custIds);

    /**
     * 删除客户管理信息
     *
     * @param custId 客户管理主键
     * @return 结果
     */
    public int deleteIsmCustManageByCustId(Long custId);

    /**
     * 导入用户数据
     *
     * @param userList 用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importCustManage(List<IsmCustManage> userList, Boolean isUpdateSupport, String operName);

    /**
     * 根据手机号查询客户
     *
     * @param phonenumber 客户手机号
     * @return 结果
     */
    public IsmCustManage selectIsmCustManageByPhonenumber(String phonenumber);

    /**
     * 根据手机号修改客户管理
     *
     * @param ismCustManage 客户管理
     * @return 结果
     */
    public int updateIsmCustManageByPhonenumber(IsmCustManage ismCustManage);

    /**
     * 查询客户积分列表
     *
     * @param ismCustManage 客户管理
     * @return 客户积分集合
     */
    public List<IsmCustManage> selectIsmCustIntegralList(IsmCustManage ismCustManage);

    /**
     * 修改客户积分
     *
     * @param ismCustManage 客户管理
     * @return 结果
     */
    public int updateIsmCustManageIntegral(IsmCustManage ismCustManage);


    /**
     * 根据家庭编号和户主名称查询客户积分
     *
     * @param ismCustManage 客户手机号
     * @return 结果
     */
    public List<IsmCustManage> selectIsmCustIntegralByfamilyInfo(IsmCustManage ismCustManage);

    /**
     * 导入用户数据
     *
     * @param custManageList 用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importCustIntegral(List<IsmCustManage> custManageList, Boolean isUpdateSupport, String operName);
}
